﻿#!/bin/bash
#author:Castle Moriarty
# date:2025-10-30

## MySQL备份脚本

## 设计一个脚本来备份数据库，首先在本地服务器上保存一份数据，然后再远程拷贝一份，本地保存一周的数据，远程的保存一个月
## 要备份的数据库是dz,本地备份目录为/bak/mysql,远程服务器ip为192.168.123.30，远程提供了一个rsync服务，备份的地址是192.168.123.30::backup

## 当脚本执行到某一步有问题，立即退出脚本，后续部分不再执行了
set -e

d1=`date +%w`
d2=`date +%d`
local_bakdir=/bak/mysql
remote_bakdir=192.168.123.30::backup

bak()
{
  echo "mysql bakup begin at `date`"
  echo "执行mysqldump,备份文件为$local_bakdir/dz.sql.$d1"
  mysqldump -uroot -pxxxx dz > $local_bakdir/dz.sql.$d1
  echo "远程拷贝到$remote_bakdir/dz.sql.$d2"
  rsync -az $local_bakdir/dz.sql.$d1 $remote_bakdir/dz.sql.$d2
  echo "mysql backup end at `date`"
}

bak >>${local_bakdir}/mysqlbak.log 2>>${local_bakdir}/mysqlbak.err

## 关闭set -e功能
set +e







<<'COMMENT'
关键知识点总结：
1)
2)
3)
4)
COMMENT